首页 > 编程知识 正文

python怎么给整型变量赋值,python pip

时间:2023-05-04 15:22:58 阅读:168161 作者:3564

我有这个代码。 您可以控制x轴范围、标题、xlabel、ylabel、图例、网格和x标签的文字旋转。

#! /usr/精明的吐司/python

导入日期时间

导入编号为NP

导入映射

import matplotlib.pyplot as plt

frommatplotlib.widgetsimportslider

frommatplotlib.datesimportdateformatter

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #。

# generate数据

x=NP.arange (0,10 ) ) )。

y0=NP.arange (0,10 ) ) )。

y1=NP.random.rand(10 ) ) ) )。

y2=NP.random.rand(10 ) ) ) ) ) )。

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #。

#初始化(sub )打印(s ) s )

fig,ax=plt.subplots (

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #。

# width of x axis

x_min_index=0

x_max_index=3

x_min=x[x_min_index]

x_max=x[x_max_index]

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #。

#create(sub ) plot

l,=PLT.plot(x,y0,label='plot1a ' ) )。

l,=PLT.plot(x,y1,label='plot1b ' ) )。

l,=PLT.plot(x,y2,label='plot1c ' ) )。

#(sub ) plot - set values

PLT.title(plot1) )。

PLT.xlabel(xlabel ) )。

PLT.ylabel('ylabel ) )。

plt.legend (

plt.grid ()。

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #。

#applyforall(sub ) plot(s ) s )

PLT.subplots _ adjust (bottom=0.25 ) )。

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #。

#(sub ) plot - get values

#PLT.axis(x_min,x_max,y_min,y_max ) ) ) )。

y_min=PLT.axis([2] )

y_max=PLT.axis([3] )

print y_min

print y_max

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #。

#(sub ) plot - set values

#只更改x values

# y values are set to same value

#PLT.axis([x_min,x_max,y_min,y_max] )。

#(sub ) plot - set values

#只更改x values

PLT.xlim(x_min,x_max ) )。

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #。

#(sub ) plot - get values

locs,labels=plt.xticks (

打印位置

打印标签

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #。

#(sub ) plot - set values

PLT.SETP(labels,rotation=45 ) ) ) ) ) ) )。

plt.show () )

此代码返回下图。

我希望我能控制所有这些属性,但是我会制作多个子图。 我的尝试是:

#! /usr/精明的吐司/python

导入日期时间

导入编号为NP

导入映射

import matplotlib.pyplot as plt

来自映射

lotlib.widgets import Slider

from matplotlib.dates import DateFormatter

############################################

# generate data

x = np.arange(0,10)

y0 = np.arange(0,10)

y1 = np.random.rand(10)

y2 = np.random.rand(10)

############################################

# initialize (sub)plot(s)

fig, axarr = plt.subplots(2)

# https://stackoverflow.com/questions/6541123/improve-subplot-size-spacing-with-many-subplots-in-matplotlib

fig.tight_layout()

############################################

# width of x axis

x_min_index = 0

x_max_index = 3

x_min = x[x_min_index]

x_max = x[x_max_index]

############################################

# 1st (sub)plot

line0 = axarr[0].plot(x,y1, label="plot1a")

line0 = axarr[0].plot(x,y2, label="plot1b")

line0 = axarr[0].legend()

line0 = axarr[0].set_title('plot1')

line0 = axarr[0].set_xlabel('xlabel1')

line0 = axarr[0].set_ylabel('ylabel1')

line0 = axarr[0].grid()

############################################

# 2st (sub)plot

line1 = axarr[1].plot(x,y0, label="plot2", color="red")

line1 = axarr[1].legend()

line1 = axarr[1].set_title('plot2')

line1 = axarr[1].set_xlabel('xlabel2')

line1 = axarr[1].set_ylabel('ylabel2')

line1 = axarr[1].grid()

############################################

# apply for all (sub)plot(s)

plt.subplots_adjust(bottom=0.25)

############################################

# OLD CODE

# (sub)plot - get values

# plt.axis(x_min, x_max, y_min, y_max)

# y_min = plt.axis()[2]

# y_max = plt.axis()[3]

# print y_min

# print y_max

# NEW ALTERNATIVE

l0_x_min, l0_x_max = axarr[0].get_xlim()

l0_y_min, l0_y_max = axarr[0].get_ylim()

l1_x_min, l1_x_max = axarr[1].get_xlim()

l1_y_min, l1_y_max = axarr[1].get_ylim()

print l0_x_min

print l0_x_max

print l0_y_min

print l0_y_max

print l1_x_min

print l1_x_max

print l1_y_min

print l1_y_max

############################################

# OLD CODE

# (sub)plot - set values

# change only x values

# y values are set to same value

# plt.axis([x_min, x_max, y_min, y_max])

# (sub)plot - set values

# change only x values

# plt.xlim(x_min, x_max)

# NEW ALTERNATIVE

axarr[0].set_xlim(x_min, x_max)

############################################

# OLD CODE

# (sub)plot - get values

# locs, labels = plt.xticks()

# print locs

# print labels

# NEW ALTERNATIVE

line0_xticks = axarr[0].get_xticks()

line0_labels = axarr[0].get_xticklabels()

print line0_xticks

print line0_labels

line1_xticks = axarr[1].get_xticks()

line1_labels = axarr[1].get_xticklabels()

print line1_xticks

print line1_labels

############################################

# OLD CODE

# (sub)plot - set values

# plt.setp(labels, rotation=45)

# NEW ALTERNATIVE

############################################

plt.show()

此代码返回此图:

此代码有一个限制,因为我无法在x轴上设置标签的旋转.我找不到适当的子图的方法来做到这一点.到目前为止,我已经找到了以下相互对应的方法:

PLOT SUBPLOTS

plt.axis() axarr[0].get_xlim(), axarr[0].get_ylim()

plt.axis([x_min, x_max, y_min, y_max]) axarr[0].set_xlim(x_min, x_max), axarr[0].set_ylim(y_min, y_max)

plt.xlim(x_min, x_max) axarr[0].set_xlim(x_min, x_max)

plt.xticks() axarr[0].get_xticks(), axarr[0].get_xticklabels()

plt.setp(labels, rotation=45) ???

plt.title("plot1") axarr[0].set_title('plot1')

plt.grid() axarr[0].grid()

plt.legend() axarr[0].legend()

plt.xlabel('xlabel') axarr[0].set_xlabel('xlabel')

plt.ylabel('xlabel') axarr[0].set_ylabel('xlabel')

plt.plot(x,y, label="plot") axarr[0].plot(x,y, label="plot")

问题:

>是否存在类似的表,但是对于绘图和子图之间的所有相应方法?

>可能更多的哲学问题;为什么两种不同的命名惯例?

>我通过运行ipdb下的代码,点击选项卡,并记下熟悉的方法名称,将此表创建为试错.有没有更好的办法?我可以想象一些可以比较方法返回类型,参数等的东西.

>如何从另一个方法中找到任何方法的替代方法?

>最后,如何在子图下旋转x标签?

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。