基于matplotlib的yaxis力指数幂函数

2024-10-01 02:25:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个情节,我想在一个数字上展示。我使用的数据是科学格式的,具有不同的指数幂。我能得到同样指数幂的图吗?以下是我目前最小的工作示例:

import numpy as np
import matplotlib.pyplot as plt


xdata = np.array([1,2,3,4,5])

# Data Set 1
ydata1 = np.array([0.5e-11, 0.6e-11, 4.e-11, 5.e-11, 10.e-11])
ydata1err = np.array([1.e-11, 1.e-11, 1.e-11, 1.e-11, 1.e-11])

# Data Set 2
ydata2 = np.array([0.5e-11, 0.6e-11, 0.4e-11, 0.5e-11, 1.e-11])
ydata2err = np.array([0.5e-11, 0.5e-11, 0.5e-11, 0.5e-11, 0.5e-11])

# Creating Figure
fig = plt.figure()
ax = fig.add_subplot(111)    # The big subplot
ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)    

# Plotting Data
ax1.errorbar(xdata, ydata1, yerr=ydata1err, fmt='bo')
ax2.errorbar(xdata, ydata2, yerr=ydata2err, fmt='ro')    

这将绘制两个范围为[0,1.e-10]和[0,1.e-11]的图形。我想要的是[0,1.e-10]和[0,0.1e-10]。在

谢谢。在


Tags: importadddataasnpfigplt指数
1条回答
网友
1楼 · 发布于 2024-10-01 02:25:07

您可以使用ax.set_ylim()来限制每个子批次的数据。如果您希望他们有相同的限制,您可以:

y_range = [0,1*10**-10]
ax1.errorbar(xdata, ydata1, yerr=ydata1err, fmt='bo')
ax1.set_ylim(y_range)
ax2.errorbar(xdata, ydata2, yerr=ydata2err, fmt='ro')  
ax2.set_ylim(y_range)

相关问题 更多 >