Python-matplotlib画图要点【大总结】
创始人
2024-03-29 12:18:49
0

文章目录

  • 一、x,y坐标图
    • 1、基本操作
    • 2、进阶操作
      • (1)解决中文乱码情况
      • (2)调整图像大小
      • (3)加标题、坐标文字、坐标轴标签
      • (5)去掉上边框
  • 二、柱状图
    • 1、柱状图画图原理
    • 2、
  • 三、颜色与标记形状
    • 1、颜色表
    • 2、形状表

又到了一年一度的论文级,大家是不是还在为怎么画图担忧呢,别担心,下载好Python软件,准备发车!!

一、x,y坐标图

1、基本操作

   在使用Python画图之前,至少需要安装好matplotlib库,很简单,直接在终端:

pip install matplotlib

 安装好之后,就可以进行简单画图了,用简单地二次函数举个例子。
y=x2{\rm{y}}\;{\rm{ = }}\;{x^2} % MathType!MTEF!2!1!+- % feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbWexLMBbXgBd9gzLbvyNv2CaeHbl7mZLdGeaGqiVu0Je9sqqr % pepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9vqaqpepm0xbba9pwe9Q8fs % 0-yqaqpepae9pg0FirpepeKkFr0xfr-xfr-xb9adbaqaaeGaciGaai % aabeqaamaabaabauaakeaacaqG5bGaaGjbVlaab2dacaaMe8UaamiE % amaaCaaaleqabaGaaGOmaaaaaaa!45DA! y=x2
 那么在画这条曲线之前,需要确定一下x和y的范围和取值,比如x的取值从0~9,那么在代码中可以这样表示:

x = np.arange(0,10)
y = x**2

 有了取值就可以画图了,直接用下面的代码进行最简单的画图:

import matplotlib.plot as plt
x = np.range(1, 10)
y = x**2				
plt.plot(x, y)			# 画图函数
plt.show()				# 用于显示所画的图形
# plt.savfig("demo.svg", dpi=300)

 使用plt.show()函数可以显示所画图形,使用plt.savfig("demo.svg", dpi=300)可以将所画的图形保存下来,这里的svg格式是论文中的常用格式,后面的dpi表示图像的清晰度,这里一般设置为300或者500就够了,设置的太高的话,电脑很有可能死机,或者图像打不开。(电脑性能不好,最好不要设置到1000以上)

2、进阶操作

(1)解决中文乱码情况

 如果在画图的过程中,遇到无法正常显示中文的情况,在画图前加上这两句代码:

plt.rcParams['font.sans-serif'] = ['SimHei'] 	# 显示中文字体
plt.rcParams['axes.unicode_minus'] = False  	# 显示负号

(2)调整图像大小

 想要调整图像大小的话,可以在画图代码的最前边,加上这样一句代码:

plt.figure(figsize=(10, 5))		

在这里插入图片描述
 这里取决于自己,如果是电力电子相关专业的话,可以将图像适当拉长,看起来会比较好看。

(3)加标题、坐标文字、坐标轴标签

plt.title("标题", fontsize=25)
plt.xticks(fontsize=15, fontweight='bold')  			# 默认字体大小为10
plt.yticks(fontsize=15, fontweight='bold')
plt.xlabel('x轴标签', fontsize=25, fontweight='bold')
plt.ylabel('y轴标签', fontsize=25, fontweight='bold')

加上这些东西之后,效果图如下所示(可以与上面的图像比较一下):
在这里插入图片描述
 如果一张图中出现不止一条曲线,也可以加上legend,

plt.plot(x, y, label="二次函数")
plt.legend(loc=0, numpoints=1)
leg = plt.gca().get_legend()
ltext = leg.get_texts()
plt.setp(ltext, fontsize=12, fontweight='bold')                     # 设置图例字体的大小和粗细
plt.grid(linestyle="--")  # 设置背景网格线为虚线

 加上这一段之后,得到的效果图如下所示:
在这里插入图片描述
 如果嫌弃字太大,自行设置即可。

(5)去掉上边框

如果不想要上边框和有边框,加上如下代码:

ax = plt.gca()
ax.spines['top'].set_visible(False)  # 去掉上边框
ax.spines['right'].set_visible(False)  # 去掉右边框

效果如下所示:
在这里插入图片描述
是不是有SCI论文里边那种感觉了。

二、柱状图

1、柱状图画图原理

2、

三、颜色与标记形状

1、颜色表

2、形状表

相关内容

热门资讯

中央广电总台副台长王晓真,黑龙... 据央视新闻报道,12月28日,中央广播电视总台《2026年春节联欢晚会》分会场发布。黑龙江哈尔滨、浙...
聚焦全国财政工作会议丨明年财政... (央视财经《经济信息联播》)明年是“十五五”规划的开局之年,财政政策将聚焦哪些关键领域精准发力? ...
原创 中... 12月26日,中国对美国实施了一次重磅反制,针对美国政府前不久批准的111亿美元对台军售,中方决定出...
徐杰11分王少杰遭驱逐 张宁缺... [搜狐体育战报]北京时间12月28日消息,2025-26赛季CBA常规赛继续第7轮角逐。王少杰第三节...
《今日说法》主持人李晓东买茶叶... 12月28日,《今日说法》栏目主持人李晓东发布视频称,此前“被骗1000元买茶叶”事件迎来新进展:该...
3-0领先终于能休息了!莫德里... 在意甲第17轮的一场焦点战中,AC米兰迎战维罗纳。比赛进行到第70分钟时,AC米兰在3-0领先的情况...
原创 数... 星链卫星接连失控坠落背后,美国太空霸权现裂痕?反观中国,悄然布下反超棋局,六战六捷消息一出,美国立马...
“墨色无变化”,故宫出借米芾《... 12月28日,江西省博物馆发布声明回应近日文学爱好者的质疑: 近日,有观众质疑我馆“山谷雅集——黄庭...
原创 彻... 近期,中日关系因为日本首相高市早苗的错误涉台言论,跌到了谷底。然而在多重施压下,高市早苗仍然拒绝撤回...