相关疑难解决方法(0)

修改刻度标签文本

我想对绘图中的几个选定的刻度标签进行一些修改.

例如,如果我这样做:

label = axes.yaxis.get_major_ticks()[2].label
label.set_fontsize(size)
label.set_rotation('vertical')
Run Code Online (Sandbox Code Playgroud)

更改刻度标签的字体大小和方向.

但是,如果尝试:

label.set_text('Foo')
Run Code Online (Sandbox Code Playgroud)

刻度标签未被修改.如果我这样做:

print label.get_text()
Run Code Online (Sandbox Code Playgroud)

没有打印.

这里有些陌生.当我尝试这个时:

 from pylab import *
 axes = figure().add_subplot(111)
 t = arange(0.0, 2.0, 0.01)
 s = sin(2*pi*t)
 axes.plot(t, s)
 for ticklabel in axes.get_xticklabels():
     print ticklabel.get_text()
Run Code Online (Sandbox Code Playgroud)

仅打印空字符串,但该图包含标记为"0.0","0.5","1.0","1.5"和"2.0"的刻度线.

python matplotlib

182
推荐指数
8
解决办法
34万
查看次数

Matplotlib:将y-ticks左对齐

我有可变长度的刻度标签,我想将它们对齐到左边(即在较短的轴和y轴之间有一个空格).有没有合理的方法来做到这一点?使用水平对齐"左"将它们对齐到左侧,但它们都从轴开始,因此它们最终在图中.所以另一个问题可能是 - 我可以改变他们的出发点吗?

示范代码:

import numpy as np
import matplotlib.pyplot as plt

ticks = ["Lorem ipsum dolor sit amet, consectetur adipisicin", "g elit, sed do",      "eiusmod tempor incididunt ut labo", "re et dolore magna ali", "qua. Ut en", "im ad minim veniam, quis nostr", "ud exercitation ullamco labo", "ris nisi ut aliquip ex ea c", "ommodo co", "nsequat. Duis aute irure dolor in rep"]
data = [5,1,2,4,1,4,5,2,1,5]
ind = np.arange(len(data))
fig = plt.figure()
ax = plt.subplot(111)
ax.barh(ind, data, 0.999)
ax.set_yticks(ind …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

9
推荐指数
1
解决办法
6301
查看次数

标签 统计

matplotlib ×2

python ×2