Python - установка ylim с помощью matplotlib приводит к дополнительным нежелательным ярлыкам ytick [duplicate]

Используйте parseFloat, он преобразует строку в число, включая десятичные значения.

 function myFunction() {
      var y = document.getElementById("txt1").value;
      var z = document.getElementById("txt2").value;
      var x = parseFloat(y) + parseFloat(z);
      document.getElementById("demo").innerHTML = x;
    }

<p>
  Click the button to calculate x.
  <button onclick="myFunction()">Try it</button>
</p>
<p>
  Enter first number:
  <input type="text" id="txt1" name="text1" value="1">
  Enter second number:
  <input type="text" id="txt2" name="text2" value="2">
</p>
<p id="demo"></p>
15
задан Danial Tz 28 May 2012 в 08:46
поделиться

3 ответа

plt.minorticks_off()

Выключает em!

Чтобы изменить их количество / положение, вы можете использовать параметр subsx. например:

plt.xscale('log', subsx=[2, 3, 4, 5, 6, 7, 8, 9])

Из docs :

subsx / subsy: где размещать субтитры между каждым основным тиком. Должна быть последовательность целых чисел. Например, в шкале log10: [2, 3, 4, 5, 6, 7, 8, 9]

поместит 8 логарифмически разнесенных мелких тиков между каждым основным тиком.

22
ответ дан fraxel 21 August 2018 в 03:00
поделиться
  • 1
    Ну, это одна из причин того, что я не могу хорошо использовать документацию matplotlib. Один огромный файл справки без разделения. Я до сих пор не могу найти документацию для этой функции. Большое спасибо! – Danial Tz 28 May 2012 в 10:11
  • 2
    @ Danial Tz - да, объем документации - это орехи! – fraxel 28 May 2012 в 10:18
from pylab import *
import numpy as np


x = [5e-05, 5e-06, 5e-07, 5e-08, 5e-09, 5e-10]
y = [-13, 14, 100, 120, 105, 93]

def myfunc(x,p):
    sl,yt,yb,ec=p    
    y = yb + (yt-yb)/(1+np.power(10, sl*(np.log10(x)-np.log10(ec))))
    return y

xp = np.power(10, np.linspace(np.log10(min(x)/10), np.log10(max(x)*10), 100))

pxp=myfunc(xp, [1,100,0,1e-6])
ax=subplot(111,axisbg="#dfdfdf")
plt.plot(x, y, '.', xp, pxp, 'g-', linewidth=1)   
plt.xscale('log')
plt.grid(True,ls="-", linewidth=0.4, color="#ffffff", alpha=0.5)
plt.minorticks_off() # turns off minor ticks

plt.draw()
plt.show()
1
ответ дан FakeDIY 21 August 2018 в 03:00
поделиться

Вызов plt.minorticks_off() будет применяться к текущей оси. (Функция на самом деле является оберткой для gca().minorticks_off().)

Вы также можете применить это к отдельной оси следующим образом:

import matplotlib.pyplot as plt
fig, ax = plt.subplots()

ax.minorticks_off()
12
ответ дан marshall.ward 21 August 2018 в 03:00
поделиться
  • 1
    Этот ответ является единственным, который упоминает подход OO. – Mad Physicist 16 August 2016 в 16:23
Другие вопросы по тегам:

Похожие вопросы: