matplotlib画图不清晰/画图不显示/中文无法显示/图例显示不全/次坐标轴

在中画图不清晰
加入如下代码运行一次即可:
% . = ‘svg’
在中画图不显示
不加plt.show() ,运行下面的也可以
%
中文无法显示问题
方法一:
import matplotlib.font_manager as fmmyfont = fm.FontProperties(fname='C:/Windows/Fonts/simsun.ttc')# simsun.ttc:宋体 simhei.ttf为黑体plt.bar(x, y, color='black')plt.xticks(x, fontproperties=myfont, rotation=270)plt.show()
【matplotlib画图不清晰/画图不显示/中文无法显示/图例显示不全/次坐标轴】

matplotlib画图不清晰/画图不显示/中文无法显示/图例显示不全/次坐标轴

文章插图
方法二:(推荐)
在Lib文件夹下生成ch.py文件,该文件中代码如下:
#-*-coding:utf-8-*-#文件名: ch.pydef set_ch():from pylab import mplmpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体,黑体是SimHei,查看属性中的英文名称与,Windows中显示的名称不一样mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串
在引用时的代码如下:
import chch.set_ch()下面只要是中文前面加u,如plt.title(u'标题')
图例显示不全
如果将图例放在外面,有时候在保存图片的时候显示不完整:
解决方法,保存前设置:
plt.()
如果还是不行可以在保存图片时设置
plt.(‘a.png’,dpi=200,=‘tight’)
显示颜色条
散点图、热力图的颜色条
plt.()
添加次坐标轴+合并图例
x = [u'1月',u'2月',u'3月',u'4月',u'5月',u'6月',u'7月',u'8月',u'9月',u'10月',u'11月',u'12月']y1 = [20,17,24,36,49,53,64,69,50,38,20,16]y2 = [100,176,235,250,156,240,190,167,320,200,100,250]fig = plt.figure()a1 = plt.plot(x,y1,label=u'冰红茶')# 添加次坐标轴ax2 = plt.twinx()a2 = ax2.plot(x, y2, label=u'冰咖啡',color='#663300')# 合并图例:方法1#fig.legend(bbox_to_anchor=(0.9,0.87))# 合并图例:方法2a = a1 + a2labels = [i.get_label() for i in a]plt.legend(a, labels)
方法1不需要给画图语句设置句柄,只需最后fig.(),但是需要调整图例的位置
方法2需要句柄,并将句柄和对应的标签综合起来