Я пытаюсь построить график скорости ветра в км / ч. Слева у меня шкала в км / ч. Теперь я хочу добавить шкалу в bft справа от графика. Шкала Bft не является линейной. Я хотел бы (вручную) добавить числа bft (0-12), чтобы указать c скорость ветра в км / ч. например. на той же высоте, что и 10,2 км / ч (левая шкала), я хочу, чтобы число 2 было написано на правой шкале (2 футы = 7,4-13 км / ч)
знает ли кто-нибудь, есть ли способ добавить такую нелинейную шкалу вручную?
Визуальный пример: картинка : вверху то, как он выглядит сейчас, внизу, как я бы хотел, чтобы он выглядел
текущий код этого визуального примера:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from datetime import datetime
from datetime import timedelta
from os import path
from os import system
import sys
from math import exp
#data processing
print("data-ready")
from matplotlib import use
use('Agg')
from matplotlib import pyplot as plt
import matplotlib.dates as mdates
print("plotlib ready")
plt.figure(1)
#multiple subplots for temprature, pressure, wind, humidity
#only wind on axs[1] is interesting here
fig, axs = plt.subplots(4, sharex=True, sharey=False)
axs[1].plot(xg, gusts,'bo')
axs[1].plot(x, winds,'black')
fig.set_figwidth(9)
fig.set_figheight(7)
axs[1].grid()
axs[1].minorticks_on()
axs[1].xaxis.set_minor_locator(mdates.HourLocator())
axs[1].grid(which='major', linestyle='-', color='lightgray')
axs[1].grid(which='minor', linestyle=':', color='lightgray')
axs[1].set_ylabel(u'Windstärke (km/h)\n[Punkte=Böen]')
axs12=axs[1]
ylim=(axs12.get_ylim())
axs12.axhspan(0, 1.85, facecolor='#00ffff', alpha=0.5)
axs12.axhspan(1.85, 7.41, facecolor='#00ff40', alpha=0.5)
axs12.axhspan(7.41, 12.96, facecolor='#80ff00', alpha=0.5)
axs12.axhspan(12.96, 20.37, facecolor='#ffff00', alpha=0.5)
axs12.axhspan(20.37, 29.36, facecolor='#ffc000', alpha=0.5)
axs12.axhspan(29.36, 40.74, facecolor='#ff6000', alpha=0.5)
axs12.axhspan(40.74, 51.86, facecolor='#ff0000', alpha=0.5)
axs12.axhspan(51.86, 62.97, facecolor='#ff0040', alpha=0.5)
axs12.axhspan(62.97, 75.93, facecolor='#ff0080', alpha=0.5)
axs12.axhspan(75.93, 140, facecolor='#ff00ff', alpha=0.5)
axs12.set_ylim(ylim)
#axs[x]...
print("sving")
plt.savefig("some_private_path/mfcPlot.png",bbox_inches = 'tight',pad_inches = 0)
print("done")