在matplotlib中绘制极小的值

时间:2016-10-30 11:13:21

标签: python-3.x matplotlib

我试图用jupiter笔记本中的matplotlib绘制一些非常小的值(在macbook pro上)。但是,无论我设置y轴限制,我得到的只是一条平线。我所追求的是类似于下面关于y轴符号的示例(png)。这是我的代码:

protected void getGooglePlace()
{
    PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
    Intent intent;
    try {
        intent = builder.build(MainActivity.this);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //Needed when starting an activity from a non-activity class
        startActivityForResult(intent, place_picker_request);
    } catch (GooglePlayServicesRepairableException e) {
        e.printStackTrace();
    } catch (GooglePlayServicesNotAvailableException e) {
        e.printStackTrace();
    }
}

以下是关于y轴值和符号的示例:

enter image description here

即使使用以下代码:

Hashmap<Integer,HashMap<Integer,Character>> map;

我得到以下情节:

enter image description here

1 个答案:

答案 0 :(得分:-1)

Matplotlib(与Mathematica不同)期望您为图中的所有兴趣点提供x值和y值。您可以改变代码,以均匀的方式评估单位间隔中均匀间距的某个函数(比如高斯)

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(figsize=(13,6))
ax = fig.add_subplot(111)
plt.hold(True)


xs = np.linspace(0, 1, 101)
ys = 1e-300 * np.exp(-(xs-0.5)**2/0.01)
ax.plot(xs, ys, marker='.')

给出了:

plot