问题描述
我有以下代码来绘制两个变量“ field_size”和“ field_mean_LAI”:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" />
<body>
<div className="cover-container d-flex h-100 p-3 mx-auto flex-column">
<header className="masthead mb-auto">
<div className="inner">
<a href="/"></a>
<nav className="nav nav-masthead justify-content-center">
<a>Link Examples</a>
</nav>
</div>
</header>
<br/>
<div className="row">
<div className="card col-lg-11 ml-5 mr-5 text-dark">
<div className="card-body">
<h1 className="display-4">Universal</h1>
<p className="lead card-text">
Lots of long text would go here to cause issues!</p>
<p className="lead">
<a href="/buy" className="btn btn-lg btn-dark">Purchase Button</a>
</p>
</div>
</div>
</div>
<br/>
<footer className="mastfoot mt-auto text-white">
<div className="inner">
<p>© Footer</p>
</div>
</footer>
</div>
结果是一个散点图:
“
如何配置x和y间隔并更改绘图的颜色?我是python绘图的初学者。
解决方法
要更改打印点的颜色,可以使用 color 属性(如下所示)。
要设置两个轴的极限,可以传递 xlim 和 ylim 参数 在创建子图时。
还请注意,我还在此处传递了 rot 参数,以设置 x 标签旋转。
要配置 x 和 y 间隔,您可以使用例如 MultipleLocator , 对于主要和次要刻度。还有其他定位器 在网上搜索详细信息。
您可以设置的其他元素也是网格(就像我一样)。
因此您可以将代码更改为:
import matplotlib.pyplot as plt
import matplotlib.ticker as tck
fig = plt.figure(figsize=(10,5))
ax = plt.subplot(xlim=(-0.000003,0.000123),ylim=(-0.5,9))
df.plot.scatter(x='field_size',y='field_lai_mean',rot=30,color='r',ax=ax)
plt.title("Field Size and LAI Plot")
plt.xlabel("Field Size")
plt.ylabel("Mean LAI")
ax = plt.gca()
ax.yaxis.set_major_locator(tck.MultipleLocator(2))
ax.yaxis.set_minor_locator(tck.MultipleLocator(0.4))
ax.xaxis.set_major_locator(tck.MultipleLocator(0.00001))
ax.xaxis.set_minor_locator(tck.MultipleLocator(0.0000025))
ax.grid()
plt.show()
当然,可以根据需要调整传递的值。
对于非常有限的几点,我得到以下图片:
,所以我修改了我的代码,如下所示:
plt.figure(figsize=(20,10))
plt.scatter(df.field_size,df.field_lai_mean)
plt.title("Field Size and LAI Plot")
plt.xlabel("Field Size")
plt.ylabel("Mean LAI")
plt.xticks(np.arange(0.00000,0.00013,step=0.000008))
plt.yticks(np.arange(0,8.5,step=0.5))
plt.show()
现在我有一个这样的情节:
只需定义xticks和yticks函数,就可以顺利完成! :)