相关疑难解决方法(0)

在python matplotlib中旋转轴文本

我无法弄清楚如何旋转X轴上的文本.它是一个时间戳,随着样本数量的增加,它们越来越近,直到它们重叠.我想将文本旋转90度,以便样本靠近在一起,它们不重叠.

下面是我的,它工作得很好,除了我无法弄清楚如何旋转X轴文本.

import sys

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import datetime

font = {'family' : 'normal',
        'weight' : 'bold',
        'size'   : 8}

matplotlib.rc('font', **font)

values = open('stats.csv', 'r').readlines()

time = [datetime.datetime.fromtimestamp(float(i.split(',')[0].strip())) for i in values[1:]]
delay = [float(i.split(',')[1].strip()) for i in values[1:]]

plt.plot(time, delay)
plt.grid(b='on')

plt.savefig('test.png')
Run Code Online (Sandbox Code Playgroud)

python matplotlib

261
推荐指数
11
解决办法
35万
查看次数

numpy中flatten和ravel函数有什么区别?

import numpy as np
y = np.array(((1,2,3),(4,5,6),(7,8,9)))
OUTPUT:
print(y.flatten())
[1   2   3   4   5   6   7   8   9]
print(y.ravel())
[1   2   3   4   5   6   7   8   9]
Run Code Online (Sandbox Code Playgroud)

两个函数都返回相同的列表.那么两个不同功能执行相同工作的需求是什么.

python numpy flatten multidimensional-array numpy-ndarray

256
推荐指数
3
解决办法
7万
查看次数

扁平和拉威尔之间的差异()

以下有什么区别?

>>> import numpy as np
>>> arr = np.array([[[  0,   1,   2],
...                  [ 10,  12,  13]],
...                 [[100, 101, 102],
...                  [110, 112, 113]]])
>>> arr
array([[[  0,   1,   2],
        [ 10,  12,  13]],
       [[100, 101, 102],
        [110, 112, 113]]])
>>> arr.ravel()
array([  0,   1,   2,  10,  12,  13, 100, 101, 102, 110, 112, 113])
>>> arr.ravel()[0] = -1
>>> arr
array([[[ -1,   1,   2],
        [ 10,  12,  13]],
       [[100, 101, 102],
        [110, 112, 113]]])
>>> list(arr.flat)
[-1, …
Run Code Online (Sandbox Code Playgroud)

python numpy

13
推荐指数
1
解决办法
1万
查看次数

绘制子图时如何修复“numpy.ndarray”对象没有属性“get_figure”

我编写了以下代码来在不同的子图中绘制 6 个饼图,但出现错误。如果我只使用它来绘制 2 个图表,则此代码可以正常工作,但除此之外还会产生错误。

我的数据集中有 6 个分类变量,它们的名称存储在 list 中cat_cols。图表将根据训练数据绘制train

代码

fig, axes = plt.subplots(2, 3, figsize=(24, 10))

for i, c in enumerate(cat_cols):
  
  train[c].value_counts()[::-1].plot(kind = 'pie', ax=axes[i], title=c, autopct='%.0f', fontsize=18)
  axes[i].set_ylabel('')
    
plt.tight_layout()
Run Code Online (Sandbox Code Playgroud)

错误

AttributeError: 'numpy.ndarray' object has no attribute 'get_figure'
Run Code Online (Sandbox Code Playgroud)

我们如何纠正这个问题?

python numpy matplotlib

7
推荐指数
1
解决办法
4045
查看次数

在matplotlib中将Y轴的标题旋转为水平

我正在尝试旋转 Y 轴的标题,使其水平。我不希望刻度标签水平只是 Y 轴的标题。我必须使用子图,因为我一次制作多个图。这是我尝试旋转 Y 轴标题的以下脚本。

import matplotlib.pyplot as plt
import sys

fig, ax = plt.subplots()

ax.set_title(r'$\alpha$ > \beta_i$', fontsize=20)
ax.set(xlabel='meters $10^1$', ylabel=r'Hertz $(\frac{1}{s})$')
ax.set(xlabel=r's(t) = \mathcal(A)\/\sin(2 \omega t)', ylabel=r'Hertz $(\frac{1}{s})$')
ax.set(ylabel="North $\uparrow$",fontsize=9,rotate=90)
plt.show()
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到一个错误:

类型错误:没有 AxesSubplot 属性“旋转”

如何调整此程序以使 Y 轴水平旋转?

python matplotlib axis-labels

2
推荐指数
1
解决办法
4010
查看次数