美文网首页
python画图遇到的尴尬

python画图遇到的尴尬

作者: 布口袋_天晴了 | 来源:发表于2019-07-30 16:53 被阅读0次

下图为目标图,想用python画折线图的方式实现,但是x轴坐标刻度与折点的坐标有些出入。


目标图

代码:

import matplotlib.pyplot as plt
from pylab import *                                 #支持中文
mpl.rcParams['font.sans-serif'] = ['SimHei']

names = ['20', '50', '100', '200']
x = range(len(names))
y0 = [0.152,0.254,0.302,0.303]
y1 = [0.215,0.279,0.305,0.306]
y2 = [0.297,0.346,0.351,0.352]

plt.plot(x, y0, marker='*', ms=10, label=u'SimplE')
plt.plot(x, y1, marker='*', ms=10, label=u'ComplEx')
plt.plot(y2, marker='*', ms=10, label=u'TuckER')

axes = plt.subplot(111)
axes.set_yticks([0.1, 0.2, 0.3, 0.4])
axes.grid(True)  # add grid

plt.legend()  # 让图例生效
plt.xticks(x, names)

plt.xlabel(u"词向量维度") #X轴标签
plt.ylabel("MRR") #Y轴标签
plt.title(u"词向量维度-MRR") #标题

plt.show()

图:明显20到50的距离==100到200的距离,这是不对的,怎么改?????


修改代码之后。修改的地方:1)x直接用数组,而不是用字符串再转换成数组;2)设置了x轴的刻度间隔

import matplotlib.pyplot as plt
from pylab import *     #支持中文
mpl.rcParams['font.sans-serif'] = ['SimHei']

x = [20,50,100,200]
y0 = [0.152,0.254,0.302,0.303]
y1 = [0.215,0.279,0.305,0.306]
y2 = [0.297,0.346,0.351,0.352]

plt.plot(x, y0, marker='*', ms=10, label=u'SimplE')
plt.plot(x, y1, marker='*', ms=10, label=u'ComplEx')
plt.plot(x, y2, marker='*', ms=10, label=u'TuckER')

axes = plt.subplot(111)
axes = plt.gca()
axes.set_yticks([0.1, 0.2, 0.3, 0.4])
axes.grid(True)  # add grid
x_major_locator = MultipleLocator(50) #把x轴的刻度间隔设置为50,并存在变量里
axes.xaxis.set_major_locator(x_major_locator)


plt.legend()  # 让图例生效

plt.xlabel(u"词向量维度") #X轴标签
plt.ylabel("MRR") #Y轴标签
plt.title(u"词向量维度-MRR") #标题

plt.show()

正确的显示效果


相关文章

  • python画图遇到的尴尬

    下图为目标图,想用python画折线图的方式实现,但是x轴坐标刻度与折点的坐标有些出入。 代码: 图:明显20到5...

  • python 心形动画表白(turtle)

    python画图库turtle

  • 海龟画图编辑器安装

    海龟画图介绍 海龟画图(turtle)是基于LOGO编程语言诞生的一个python绘图库,主要基于python2....

  • Mac电脑python 使用Matplotlib画图中文字体显示

    问题:Mac电脑python 使用Matplotlib画图遇到中文会显示不出来如下图所示 ​ 解决办法:通过加入如...

  • Python之MatPlotLib使用教程

    1.Matplotlib简介 Matplotlib是非常强大的python画图工具 Matplotlib可以画图线...

  • 2017.6.20

    python 解析 md 文件 -> html文件 python画图表->PDF,使用 reportlab 提供的...

  • python画图

  • python 画图

    每次画图,你都要引入一个箭头模块,等于引入一支笔,你才能画图,代码是:import turtle,意思是引入一个龟...

  • python画图

    0 生成横坐标 在一张图上画多条曲线 shape 1 画散点+直线图的小例子「转,侵删」 My code 例子2 ...

  • python画图

    常见工具库如下: 1、matplotlib 2、Bar Charts 基本用法 计算数值出现的次数,得到分布结果 ...

网友评论

      本文标题:python画图遇到的尴尬

      本文链接:https://www.haomeiwen.com/subject/wamnrctx.html