arrows in ternary plot using quiver

24 views Asked by At

I want to create a flow diagram and I am using quiver. The plot I get cuts the arrows and the points I draw in the arises. I need those features to be seen, how could I do to get that fixed? I attached a figure to show how the arrows and points appear in the plot

enter image description here

Thanks :) the code is:

` import numpy as np

import matplotlib.pyplot as plt
from mpltern.datasets import get_triangular_grid


t, l, r = get_triangular_grid(15)


dt =  (1-t)*t**2 - t*l**2 - t*r**2
dl =  (1-l)*l**2 - l*t**2 - l*r**2
dr =  (1-r)*r**2 - r*t**2 - r*l**2

length = np.sqrt(dt ** 2 + dl ** 2 + dr ** 2)

fig = plt.figure(figsize=(10.8, 4.8))
fig.subplots_adjust(left=0.075, right=0.85, wspace=0.63)

ax = fig.add_subplot(121, projection='ternary')
pc = ax.quiver(t, l, r, dt, dl, dr)



positions = ['tick1', 'tick2']
for i, position in enumerate(positions):


    ax.set_tlabel('$x_{1}$')
    ax.set_llabel('$x_{1}$')
    ax.set_rlabel('$x_{1}$')

    ax.taxis.set_ticks_position(position)
    ax.laxis.set_ticks_position(position)
    ax.raxis.set_ticks_position(position)

    ax.taxis.set_label_position(position)
    ax.laxis.set_label_position(position)
    ax.raxis.set_label_position(position)



plt.plot([1, 0, 0],[0,1,0],[0,0,1],[0.5,0.5,0],[0.5,0,0.5],[0,0.5,0.5],marker='o',  ls='none', ms=10)
c = 1.0/3.0
plt.plot(c,c,c,marker='o',  ls='none', ms=10)
plt.show()`

i tried to change the scale but the arrows and the axes dont hold the same scale

0

There are 0 answers