zoukankan      html  css  js  c++  java
  • 使用Python画一个带坐标轴的圆

    Download Microsoft Visual Studio

    Microsoft Visual Studio enables you develop your python Application, to use Microsoft Visual Studio developing your application, first thing is to install Visual Studio.

    Download Microsoft Visual Studio online, download Visual Studio .

    Choose Python when installing Microsoft Visual Studio

    Choose Python development

    After installation complete, launch the Visual Studio and create a project.

    1. Select File > New > Project
    2. In the New Project window, expand Installed, expand Python.
    3. In the template, select Python Application.
    4. Choose your Name and Location, then click OK.

    Install matplotlib and numpy package

    1. Select View > Ohter Windows > Python Environments.
    2. In the right side of window, switch to Python Environment (In same window to the Solution Explorer).
    3. Select one version, for example, Python 3.6. Select Packages.
    4. In the search box, type matplotlib and select “pip install matplotlib” from PyPI.
    5. Wait for the installation complete.
      Install matplotlib
    6. Repeat above two steps for numpy.

    Open python file, write code to plot a circle step by step

    The equation for a circle is x^2 + y^2 = 1, therefore, y = +sqrt(1-x^2) and y = -sqrt(1-x^2).

    1. Select Soltuion Explorer, double click on the python file to open it, in my side, the file name is PythonApplication1.py.
    2. Import pyplot and numpy libraries.
    import matplotlib.pyplot as plt
    import numpy as np
    1. Define a Figure window with name Figure1 and size as width=5, height=5.
    plt.figure(num=1,figsize=(5,5))
    1. Use numpy.linspace to define x with some points, starting from -1 to 1, randomly generate 500 points.
    2. Use numpy.sqrt to define the corresponding y1 and y2.
    x = np.linspace(-1, 1, 500)
    y1 = np.sqrt(1-x**2)
    y2 = -np.sqrt(1-x**2)
    1. Plot the figure and show the figure
    l1, = plt.plot(x, y1, color='blue')
    l2, = plt.plot(x, y2, color='blue')
    ...
    
    plt.show()
    1. Here is what you get so far:
      Plot the figure for the first time

    Customize your Figure

    (NOTE: all the code need be added before the line of plt.show())

    1. Then, you can customize the steps and points in the x axis and y axis, the functions are pyplot.xticks and pyplot.yticks.
    2. In following code, I defined some numbers by using numpy.arange(), the numbers are -1, -0.5, 0, 0.5, 1. Use these numbers both for x axis and y axis.
    new_ticks = np.arange(-1,1,0.5)
    plt.xticks(new_ticks)
    plt.yticks(new_ticks)
    1. If you want to customize the border and axis location, you can use plt.gca(), the following code did three things:
      • Set the position of y axis to -1.
      • Set the postion of x axis to -1.
      • Remove the border of right edge.
      • Remove the border of top edge.
    ax = plt.gca()
    ax.spines['left'].set_position(('data',-1))
    ax.spines['bottom'].set_position(('data',-1))
    ax.spines['right'].set_color('none')
    ax.spines['top'].set_color('none')
    1. Now here is what you get:
      Customized the ticks and axis
    2. If you want to move the axis to 0, then just change the value from -1 to 0 in above code.
    ax.spines['left'].set_position(('data',0))
    ax.spines['bottom'].set_position(('data',0))
    1. Add a legend to the upper right corner, the string inside the ' should sround with $, and it will render better acording to what support best by the system.
    plt.legend(handles=[l1,l2,], labels=[r'$x^2+y^2=1$'], loc='upper right')
    1. Add axes at the end of the axis by using plt.annotate().
    plt.annotate('$x$', xy=(0.98,0.5), ha='left', va='top', xycoords='axes fraction', fontsize=20)
    plt.annotate('$y$', xy=(0.5,1), ha='left', va='top', xycoords='axes fraction', textcoords='offset points',fontsize=20)
    1. This is what you get finall, pretty cool.

    A circle plot with python

  • 相关阅读:
    java的原子类 AtomicInteger 实现原理是什么?
    Tomcat性能调优
    JVM性能调优
    vue下载和上传excle数据文件,解析excel文件数据并存在数据库中
    07----popo up 弹窗
    06----fiter
    05 ---批量操作
    04
    stark组件03
    stack组件03
  • 原文地址:https://www.cnblogs.com/qixue/p/8318059.html
Copyright © 2011-2022 走看看