Как сделать график с 2 наборами данных? - PullRequest
0 голосов
/ 31 мая 2018

на данный момент я пытаюсь создать график, и это нормально, пока я не попытаюсь добавить третий столбец данных в мой файл .csv.

Так что, по сути, я беру изотермы области давления, и передо мной стоит задача построить график давления, площади, которого я достиг (вот!)

import matplotlib.pyplot as plt
import numpy as np

 x, y = np.loadtxt("Example.csv", delimiter=',', unpack=True)
plt.plot(x,y)
plt.xlabel('Area-mm^2')
plt.ylabel('Pressure mN/m')

plt.title('Pressure-Area Isotherm\nKibron')
plt.legend()
plt.show()

этото, что я получил, то, что мне нужно сделать сейчас, это также поместить среднее значение пикселей некоторых фотографий, которые я сделал, в график, чтобы я мог положительно коррелировать обратную зависимость между площадью и интенсивностью давления / освещенности.

Мой.csv (файл Excel) имеет три столбца, если невозможно выполнить оба этих действия одновременно, может кто-нибудь показать мне способ выбрать только 2 из трех столбцов для отображения на графике?IE давление / площадь, значения давления / пикселя или значения площади / пикселя.Я предполагаю, что это будет включать в себя присвоение каждому столбцу числа (n) и иметь граф pyplot "n" против "n" Edit: я также хотел бы, чтобы они были второй шкалой, чтобы общий график не выглядел ненадежным.еще раз спасибо за помощь!

| 1st is area |тогда давление |и среднее значение пикселя |

1 Ответ

0 голосов
/ 31 мая 2018

Вы можете использовать zip и создавать наложенные графики:

import csv
import matplotlib.pyplot as plt
with open('filename.csv') as f:
   headers = iter(['area', 'pressure', 'pixel'])
   data = {next(headers):list(map(float, b)) for _, *b in zip(*csv.reader(f))}

labels = ['pressure/area', 'pressure/pixel', 'area/pixel']
for i in labels:
  num, denom = i.split('/')
  plt.plot(data[num], data[denom], label = i)

plt.legend(loc='upper left')
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...