【问题标题】:how to set the font label to Helvetica and redesigning the axis label text using matplotlib如何将字体标签设置为 Helvetica 并使用 matplotlib 重新设计轴标签文本
【发布时间】:2020-09-17 18:02:54
【问题描述】:

在下面简单的matlotlib图中,我想为文本和轴标签设置Helvertica字体,需要控制轴的宽度,轴的值。此外,我需要写轴标签有点不同,比如两个轴中的“时间”将分别位于 INSTITUTE 和 COMPANY 的右下角。

import matplotlib.pyplot as plt
x=[1,2,3,4,5,6,7,8,9,10]
y=[2,3,4,5,4,6,8,10,23,10]
plt.xlabel('INSTITUTEtime')
plt.ylabel('COMPANYtime')
plt.plot(x,y)
plt.show()

【问题讨论】:

  • 它是plt.show()。你说什么时间?在右下角??
  • x 轴标签中的 INSTITUTEtime 应写为 INSTITUTE,然后在 INSTITUTE 一词的右下角,应写为时间。
  • 它不是任何系统时间,它是一个单词'时间'
  • @Karthik 可以吗??

标签: python matplotlib plot


【解决方案1】:

请检查sn-p。我没有 Helvetica 字体。如果您想要该字体,您需要下载它并在您的matplotlibrc 文件中配置它。请检查 Font Configuration 了解更多详情。

  • **xyconfig 用于从字典中提取元素。它称为字典解包。
  • plt.text(10,-2,'time') 这里 x 坐标是 10 ,y 坐标是 -2。我们知道您的 x 轴限制是 10,所以我给 x 为 10,我给 -2 因为您希望该文本位于 (0,0) 坐标下方的右下角,即负 y 轴
  • plt.text(-0.50,22,'time',rotation=90) 这里 y 坐标是 22,因为你的 y 轴限制是 20,所以为了将它定位在稍微高一点的位置,我给了它 22,x 坐标是 -0.5,因为你希望你的文本放在你的 y 轴后面在负 y 轴上。
  • rotation=90 是旋转文本的参数。您也可以在xticks and yticks 中使用它
import matplotlib.pyplot as plt
x=[1,2,3,4,5,6,7,8,9,10]
y=[2,3,4,5,4,6,8,10,23,10]

xyconfig = {'fontname':'serif','size':12}
plt.xlabel('INSTITUTE',**xyconfig)
plt.ylabel('COMPANY',**xyconfig)
plt.xticks(fontname='serif',size=8)
plt.yticks(fontname='serif',size=8)
plt.plot(x,y)
plt.text(10,-2,'time')
plt.text(-0.50,22,'time',rotation=90)
plt.title("Institute vs Company Time")
plt.show()

【讨论】:

  • 但不满足Helvertica字体
  • @geo 我已经提到了上面的原因..阅读一次并通过该链接
  • @geo 请也检查一下stackoverflow.com/a/43647344/12870513
  • 你能告诉我你是如何设置 plt.text(10,-2​​,'time') 的,我需要 y 轴时间像 x 轴一样处于水平状态
  • 谢谢....是否可以更改轴号的大小
猜你喜欢
  • 2015-05-30
  • 2020-09-24
  • 2014-09-01
  • 1970-01-01
  • 2012-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多